<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="keywords" content="spring,Spring,java,web,程序员,博客,IT,技术,移动开发,Web前端,企业架构,编程语言,互联网,数据库,技术博客,blog,分布式架构,分布式">
		<meta name="description" content="cdcoder是一个程序员学习交流平台，深度IT技术博客，移动开发博客,Web前端博客,企业架构博客,编程语言博客,互联网博客,数据库博客,IT blog,核心关注IT知识传播，共享。为更好的IT产业贡献一份微薄的力量。">
		<link rel="shortcut icon" href="/img/code.ico" />
		<link rel="bookmark"href="/img/code.ico" />
		<title>java相关知识</title>
		<link href="../css/index.css" rel="stylesheet">
		<style>
			body {
				font-size: 16px;
				font: 400 16px/1.62 Georgia, "Xin Gothic", "Hiragino Sans GB", "Droid Sans Fallback", "Microsoft YaHei", sans-serif;
				font-family: 'PT serif', 微軟正黑體, 微软雅黑, 华文细黑, Microsoft Yahei, Hiragino Sans GB, sans-serif;
				color: #D0CCCC;

				text-shadow: 0px 0px 1px rgba(24, 22, 22, 0.35);
				background-color: #000;
			}
			p{ text-indent:2em; padding:0px; margin:0px; }
		</style>
	</head>
	<body>


		<header>
			<div class="logo"><a href="/index.html">徐思润博客</a></div>
			<nav>
				<ul id="starlist">
					<li><a href="/java/index.html">java</a></li>
					<li><a href="/data/index.html">算法与数据结构</a></li>
					<li><a href="/db/mysql.html">数据库</a></li>
					<li><a href="/distribution/index.html">分布式</a></li>
					<li><a href="/framework/index.html">架构</a></li>
					<li><a href="/interview/index.html">面试与被面试</a></li>
					<li><a href="/live/index.html">日常生活</a></li>
					<li><a href="/about.html">关于我</a></li>
					<li><a href="/baby/index.html">baby墙</a></li>
				</ul>
			</nav>
		</header>
		<div class="box">
			<h1 style="text-align: center;">单例模式（Singleton）</h1>
			<h2>1.定义</h2>
				<p style="">保证一个类仅有一个实例，并提供一个访问它的全局访问点。也就是在Java应用中，单例对象能保证在一个JVM中，该对象只有一个实例存在。
				就像一个封建社会时一个国家有且只有一个皇帝一样。</p>
			<h2>2.优点</h2>	
			<p>内存中只有一个实例，减少了系统的性能开销，减少内存的开支，特别是频繁创建的对象，全局的访问点，优化和共享资源访问。</p>
			<h2>3.缺点</h2>	
			<p>扩展较难，违背了单一职责原则，多线程使用和非多线程使用时需要加同步锁无法区分</p>
			<h2>4.使用场景</h2>	
			<p> 1.资源共享的情况下，避免由于资源操作时导致的性能或损耗等。如上述中的日志文件，应用配置。  </p>
			<p> 	2.控制资源的情况下，方便资源之间的互相通信。如线程池等。 </p>
			<h2>5.其他相关</h2>	
					<p>使用方式：饿汉式（枚举法）/懒汉式</p>
					<p>带<a href="http://book.cdcoder.cn/java-concurrent/synchronized.html">synchronized</a>的同步函数或者同步块的</p>
					<p>使用Lock保证同步的</p>
			<h2>6.代码地址</h2>	
			<p> 后面补上 </p>
			
			<a href="design_pattern.html">返回</a>
		 </div>
		<footer>
			<p>Design by <a href="http://cdcoder.cn" target="_blank">徐思润个人博客</a> </p>
			<p>备案号：<a href="/">蜀ICP备15014105号-1</a></p>
				<script type="text/javascript" src="https://s96.cnzz.com/z_stat.php?id=1277229191&web_id=1277229191"></script>
		</footer>

	</body>
</html>
